87f594cd4cc36d61ceee1765509e02ebeb26cc33,src/com/davemorrissey/labs/subscaleview/FixedSubsamplingScaleImageView.java,AnimationBuilder,start,#,1834
Before Change
anim.sCenterStart = getCenter();
anim.sCenterEnd = targetSCenter;
anim.vFocusStart = sourceToViewCoord(targetSCenter);
anim.vFocusEnd = new PointF(
getWidth()/2,
getHeight()/2
);
anim.duration = duration;
anim.interruptible = interruptible;
anim.easing = easing;
After Change
* Starts the animation.
*/
public void start() {
int vxCenter = getPaddingLeft() + (getWidth() - getPaddingRight() - getPaddingLeft())/2;
int vyCenter = getPaddingTop() + (getHeight() - getPaddingBottom() - getPaddingTop())/2;
float targetScale = limitedScale(this.targetScale);
PointF targetSCenter = panLimited ? limitedSCenter(this.targetSCenter.x, this.targetSCenter.y, targetScale, new PointF()) : this.targetSCenter;
anim = new Anim();
anim.scaleStart = scale;
anim.scaleEnd = targetScale;
anim.time = System.currentTimeMillis();
anim.sCenterEndRequested = targetSCenter;
anim.sCenterStart = getCenter();
anim.sCenterEnd = targetSCenter;
anim.vFocusStart = sourceToViewCoord(targetSCenter);
anim.vFocusEnd = new PointF(
vxCenter,
vyCenter
);
anim.duration = duration;
anim.interruptible = interruptible;
anim.easing = easing;